﻿#pragma warning disable IDE1006
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WUDI.ECharts.RadiusAxis.AxisPointer
{
	/// <summary>
	/// 拖拽手柄，适用于触屏的环境
	/// <para>
	/// 参见 例子
	/// </para>
	/// <para>
	/// <see href="https://echarts.apache.org/examples/zh/editor.html?c=line-tooltip-touch&amp;edit=1&amp;reset=1"/>
	/// </para>
	/// </summary>
	public class Handle
	{

		/// <summary>
		/// 当 show 设为 true 时开启，这时显示手柄，并且 axisPointer 会一直显示。
		/// </summary>
		public dynamic show { get; set; }  = false;

		/// <summary>
		/// 手柄的图标
		/// <para>
		/// 可以通过 image://url 设置为图片，其中 URL 为图片的链接，或者 dataURI
		/// </para>
		/// <para>
		/// 可以通过 path:// 将图标设置为任意的矢量路径
		/// </para>
		/// <para>
		/// 这种方式相比于使用图片的方式，不用担心因为缩放而产生锯齿或模糊，而且可以设置为任意颜色
		/// </para>
		/// <para>
		/// 路径图形会自适应调整为合适的大小
		/// </para>
		/// <para>
		/// 路径的格式参见 SVG PathData
		/// </para>
		/// <para>
		/// <see href="http://www.w3.org/TR/SVG/paths.html#PathData"/>
		/// </para>
		/// <para>
		/// 可以从 Adobe Illustrator 等工具编辑导出
		/// </para>
		/// <para>
		/// 参见 使用图片的例子
		/// </para>
		/// <para>
		/// <see href="https://echarts.apache.org/examples/zh/editor.html?c=doc-example/axisPointer-handle-image&amp;edit=1&amp;reset=1"/>
		/// </para>
		/// </summary>
		public dynamic icon { get; set; } 

		/// <summary>
		/// 手柄的尺寸，可以设置单值，如 45，也可以设置为数组。[width, height]。
		/// <para>number/Array</para>
		/// </summary>
		public dynamic size { get; set; }  = 45;

		/// <summary>
		/// 手柄与轴的距离。注意，这是手柄中心点和轴的距离。
		/// </summary>
		public dynamic margin { get; set; }  = 50;

		/// <summary>
		/// 手柄颜色。
		/// </summary>
		public dynamic color { get; set; }  = "#333";

		/// <summary>
		/// 手柄拖拽时触发视图更新周期，单位毫秒，调大这个数值可以改善性能，但是降低体验。
		/// </summary>
		public dynamic throttle { get; set; }  = 40;

		/// <summary>
		/// 图形阴影的模糊大小
		/// <para>
		/// 该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果
		/// </para>
		/// </summary>
		public dynamic shadowBlur { get; set; }  = 3;

		/// <summary>
		/// 阴影颜色。支持的格式同color。
		/// </summary>
		public dynamic shadowColor { get; set; }  = "#aaa";

		/// <summary>
		/// 阴影水平方向上的偏移距离。
		/// </summary>
		public dynamic shadowOffsetX { get; set; }  = 2;

		/// <summary>
		/// 阴影垂直方向上的偏移距离。
		/// </summary>
		public dynamic shadowOffsetY { get; set; }  = 0;

	}
}